package com.example.myapplication;

import static com.example.myapplication.AddBookActivity.bookData;

import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;

import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import org.json.JSONException;
import org.json.JSONObject;

import java.text.Collator;
import java.util.Collections;
import java.util.Comparator;
import java.util.Locale;

public class BookListActivity extends AppCompatActivity {

    private RecyclerView recyclerView;

    private static final String TAG =
            MainActivity.class.getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_booklist);

        Button DataSort = findViewById(R.id.DataSort);
        Button AuthorSort = findViewById(R.id.AuthorSort);
        recyclerView = findViewById(R.id.BookListRecyclerView);

        AuthorSort.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });


        LinearLayoutManager layoutManager = new LinearLayoutManager(this);
        recyclerView.setLayoutManager(layoutManager);
        recyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));

        /*
        try {
            bookData.add("{\"id\":9787506380263,\"name\":\"人间失格\",\"subname\":\"\",\"author\":\"太宰治\",\"translator\":\"杨伟\",\"publishing\":\"作家出版社\",\"published\":\"2015-5\",\"designed\":\"平装\",\"code\":\"9787506380263\",\"douban\":26647769,\"doubanScore\":82,\"numScore\":37766,\"brand\":\"世界文学名著\",\"weight\":null,\"size\":null,\"pages\":\"219\",\"photoUrl\":\"https://img3.doubanio.com/view/subject/m/public/s28323390.jpg\",\"localPhotoUrl\":\"\",\"price\":\"25.00元\",\"froms\":\"douban_api2\",\"num\":5,\"createTime\":\"2021-04-23T15:51:58\",\"uptime\":\"2022-05-03T04:29:13\",\"authorIntro\":\"太宰治，“私小说”领域的天才。宇川端康成、三岛由纪夫齐名，被视为日本战后文学的巅峰人物，后人称其为“无赖派大师”。\",\"description\":\"收录《人间失格》《维庸之妻》《Good-bye》《灯笼》《满愿》《美男子与香烟》《皮肤与心》《蟋蟀》《樱桃》\",\"reviews\":null,\"tags\":null}");
            bookData.add("{\"id\":9787506380263,\"name\":\"人间失格\",\"subname\":\"\",\"author\":\"太宰治\",\"translator\":\"杨伟\",\"publishing\":\"作家出版社\",\"published\":\"2015-1\",\"designed\":\"平装\",\"code\":\"9787506380263\",\"douban\":26647769,\"doubanScore\":82,\"numScore\":37766,\"brand\":\"世界文学名著\",\"weight\":null,\"size\":null,\"pages\":\"219\",\"photoUrl\":\"https://img3.doubanio.com/view/subject/m/public/s28323390.jpg\",\"localPhotoUrl\":\"\",\"price\":\"25.00元\",\"froms\":\"douban_api2\",\"num\":5,\"createTime\":\"2021-04-23T15:51:58\",\"uptime\":\"2022-05-03T04:29:13\",\"authorIntro\":\"太宰治，“私小说”领域的天才。宇川端康成、三岛由纪夫齐名，被视为日本战后文学的巅峰人物，后人称其为“无赖派大师”。\",\"description\":\"收录《人间失格》《维庸之妻》《Good-bye》《灯笼》《满愿》《美男子与香烟》《皮肤与心》《蟋蟀》《樱桃》\",\"reviews\":null,\"tags\":null}");
            bookData.add("{\"id\":9787506380263,\"name\":\"人间失格\",\"subname\":\"\",\"author\":\"太宰治\",\"translator\":\"杨伟\",\"publishing\":\"作家出版社\",\"published\":\"2015-8\",\"designed\":\"平装\",\"code\":\"9787506380263\",\"douban\":26647769,\"doubanScore\":82,\"numScore\":37766,\"brand\":\"世界文学名著\",\"weight\":null,\"size\":null,\"pages\":\"219\",\"photoUrl\":\"https://img3.doubanio.com/view/subject/m/public/s28323390.jpg\",\"localPhotoUrl\":\"\",\"price\":\"25.00元\",\"froms\":\"douban_api2\",\"num\":5,\"createTime\":\"2021-04-23T15:51:58\",\"uptime\":\"2022-05-03T04:29:13\",\"authorIntro\":\"太宰治，“私小说”领域的天才。宇川端康成、三岛由纪夫齐名，被视为日本战后文学的巅峰人物，后人称其为“无赖派大师”。\",\"description\":\"收录《人间失格》《维庸之妻》《Good-bye》《灯笼》《满愿》《美男子与香烟》《皮肤与心》《蟋蟀》《樱桃》\",\"reviews\":null,\"tags\":null}");
            bookData.add("{\"id\":9787020024759,\"name\":\"围城\",\"subname\":\"\",\"author\":\"钱锺书\",\"translator\":null,\"publishing\":\"人民文学出版社\",\"published\":\"1991-2\",\"designed\":\"平装\",\"code\":\"9787020024759\",\"douban\":1008145,\"doubanScore\":89,\"numScore\":420897,\"brand\":null,\"weight\":null,\"size\":null,\"pages\":\"359\",\"photoUrl\":\"https://img2.doubanio.com/view/subject/m/public/s1070222.jpg\",\"localPhotoUrl\":\"\",\"price\":\"19.00\",\"froms\":\"douban_api2\",\"num\":0,\"createTime\":\"2021-04-23T15:41:56\",\"uptime\":\"2022-05-22T12:14:45\",\"authorIntro\":\"钱钟书(1910－1998)，字哲良，默存，号槐聚，中国江苏无锡人，中国近代著名作家、 文学研究家。毕业于清华大学外文系，获文学学士，赴上海，到光华大学任教。后考取第三届(1935年)庚子赔款公费留学资格，名列榜首，留学英国牛津大学 埃克塞特学院。大学毕业后任教于多所高校。新中国成立后被评为一级教授。晚年就职于中国社会科学院，任副院长。其夫人杨绛也是著名作家，育有一女钱媛(1937年-1997年)。曾为《毛泽东选集》英文版翻译小组成员。1998年逝世，享年88岁。\",\"description\":\"《围城》是钱钟书所著的长篇小说。第一版于1947年由上海晨光出版公司出版。1949年之后，由于政治等方面的原因，本书长期无法在中国大陆和台湾重印，仅在香港出现过盗印本。1980年由作者重新修订之后，在中国大陆地区由人民文学出版社刊印。此后作者又曾小幅修改过几次。《围城》 自从出版以来，就受到许多人的推崇。由于1949年后长期无法重印，这本书逐渐淡出人们的视野。1960年代，旅美汉学家夏志清在《中国现代小说史》(A History of Modern Chinese Fiction)中对本书作出很高的评价，这才重新引起人们对它的关注。人们对它的评价一般集中在两方面，幽默的语言和对生活深刻的观察。从1990年代开始，也有人提出对本书的不同看法，认为这是一部被“拔高”的小说，并不是一部出色的作品。很多人认为这是一部幽默作品。除了各具特色的人物语言之外，作者夹叙其间的文字也显着机智与幽默。这是本书的一大特色。也有人认为这是作者卖弄文字，语言显得尖酸刻薄。但这一说法并不为大多数人接受。\",\"reviews\":null,\"tags\":null}");
            bookData.add("{\"id\":9787506380263,\"name\":\"人间失格\",\"subname\":\"\",\"author\":\"太宰治\",\"translator\":\"杨伟\",\"publishing\":\"作家出版社\",\"published\":\"2015-8\",\"designed\":\"平装\",\"code\":\"9787506380263\",\"douban\":26647769,\"doubanScore\":82,\"numScore\":37766,\"brand\":\"世界文学名著\",\"weight\":null,\"size\":null,\"pages\":\"219\",\"photoUrl\":\"https://img3.doubanio.com/view/subject/m/public/s28323390.jpg\",\"localPhotoUrl\":\"\",\"price\":\"25.00元\",\"froms\":\"douban_api2\",\"num\":5,\"createTime\":\"2021-04-23T15:51:58\",\"uptime\":\"2022-05-03T04:29:13\",\"authorIntro\":\"太宰治，“私小说”领域的天才。宇川端康成、三岛由纪夫齐名，被视为日本战后文学的巅峰人物，后人称其为“无赖派大师”。\",\"description\":\"收录《人间失格》《维庸之妻》《Good-bye》《灯笼》《满愿》《美男子与香烟》《皮肤与心》《蟋蟀》《樱桃》\",\"reviews\":null,\"tags\":null}");
            bookData.add("{\"id\":9787108070371,\"name\":\"什么是社会学\",\"subname\":\"\",\"author\":\"赵鼎新\",\"translator\":null,\"publishing\":\"生活·读书·新知三联书店\",\"published\":\"2021-5\",\"designed\":\"平装\",\"code\":\"9787108070371\",\"douban\":35445945,\"doubanScore\":85,\"numScore\":394,\"brand\":\"乐道文库\",\"weight\":null,\"size\":null,\"pages\":\"160\",\"photoUrl\":\"https://img1.doubanio.com/view/subject/m/public/s33885357.jpg\",\"localPhotoUrl\":\"\",\"price\":\"39.00元\",\"froms\":\"douban_api2\",\"num\":0,\"createTime\":\"2021-05-31T12:00:05\",\"uptime\":\"2022-05-27T16:22:16\",\"authorIntro\":\"赵鼎新，芝加哥大学 Max Palevsky 讲席教授，浙江大学教授。研究领域包括历史社会学、社会运动和社会学方法。曾著有中文专著《社会与政治运动讲义》《东周战争和儒法国家的形成》《民主的限制》《合法性的政治》《国家、战争与历史发展：前现代中西模式的比较》以及英文专著两部，分别获得美国社会学学会2001年度亚洲研究最佳书籍奖、美国社会学学会2016年度政治社会学研究最佳书籍奖。\",\"description\":\"结构／机制叙事和事件／时间序列叙事是人类在描述和分析社会现象时所采用的两类最为基本的叙事形式。如果说历史学是一门以事件／时间序列叙事为基础的学科，社会学则是一门以结构／机制叙事为基础的学科，历史学和社会学也就构成了社会科学中的两个最为核心的基础学科，或者说它们是其它专题性的应用社会科学学科，比如法学、商学、管理学、传播学、社会工作、宗教学（在一定意义上甚至应该包括经济学和政治学）等学科的母学科。\",\"reviews\":null,\"tags\":null}");
        }catch (Exception e){
            e.printStackTrace();
        }*/

        MyAdapter myAdapter = new MyAdapter(bookData);

        recyclerView.setAdapter(myAdapter);

        //按日期排序
        DataSort.setOnClickListener(new View.OnClickListener() {
            @RequiresApi(api = Build.VERSION_CODES.N)
            @Override
            public void onClick(View v) {
                bookData.sort(new Comparator<String>() {
                    @Override
                    public int compare(String o1, String o2) {
                        try {
                            JSONObject jsonObject1 = new JSONObject(o1);
                            JSONObject jsonObject2 = new JSONObject(o2);

                            String d1 = jsonObject1.optString("published");
                            String d2 = jsonObject2.optString("published");

                            if(d1.substring(0,4).equals(d2.substring(0,4))){
                                return Integer.valueOf(d2.substring(5,6)) - Integer.valueOf(d1.substring(5,6));
                            }

                            return Integer.valueOf(d2.substring(0,4)) - Integer.valueOf(d1.substring(0,4));

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                        return 0;
                    }
                });

                recyclerView.setAdapter(myAdapter);

            }
        });

        //按作者排序
        AuthorSort.setOnClickListener(new View.OnClickListener() {
            @RequiresApi(api = Build.VERSION_CODES.N)
            @Override
            public void onClick(View v) {
                bookData.sort(new Comparator<String>() {
                    @Override
                    public int compare(String o1, String o2) {
                        try {
                            JSONObject jsonObject1 = new JSONObject(o1);
                            JSONObject jsonObject2 = new JSONObject(o2);

                            String d1 = jsonObject1.optString("author");
                            String d2 = jsonObject2.optString("author");

                            Log.d(TAG,d1);
                            Log.d(TAG,d2);

                            return d1.compareTo(d2);

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                        return 0;
                    }
                });

                recyclerView.setAdapter(myAdapter);
            }
        });

    }

}